summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2022-12-28 04:14:36 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2023-01-04 03:16:43 +0100
commitddbf851ef614e2ffc52e4f6e52150e7411a8dd3a (patch)
tree13d1260ef06d6d8051f980da5bb3fac4ad6fae2c
parentShaderCompiler: Inline driver specific constants. (diff)
downloadyuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar
yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.gz
yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.bz2
yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.lz
yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.xz
yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.zst
yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.zip
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index d82782f1c..5c5bfa18d 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -756,6 +756,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
CollectToolingInfo();
if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) {
+ const u32 nv_major_version = (properties.driverVersion >> 22) & 0x3ff;
+
const auto arch = GetNvidiaArchitecture(physical, supported_extensions);
switch (arch) {
case NvidiaArchitecture::AmpereOrNewer:
@@ -765,11 +767,13 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
case NvidiaArchitecture::Turing:
break;
case NvidiaArchitecture::VoltaOrOlder:
- LOG_WARNING(Render_Vulkan, "Blacklisting Volta and older from VK_KHR_push_descriptor");
- khr_push_descriptor = false;
+ if (nv_major_version < 527) {
+ LOG_WARNING(Render_Vulkan,
+ "Blacklisting Volta and older from VK_KHR_push_descriptor");
+ khr_push_descriptor = false;
+ }
break;
}
- const u32 nv_major_version = (properties.driverVersion >> 22) & 0x3ff;
if (nv_major_version >= 510) {
LOG_WARNING(Render_Vulkan, "NVIDIA Drivers >= 510 do not support MSAA image blits");
cant_blit_msaa = true;
@@ -834,8 +838,11 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
const bool is_intel_windows = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS;
const bool is_intel_anv = driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA;
if (ext_vertex_input_dynamic_state && is_intel_windows) {
- LOG_WARNING(Render_Vulkan, "Blacklisting Intel for VK_EXT_vertex_input_dynamic_state");
- ext_vertex_input_dynamic_state = false;
+ const u32 version = (properties.driverVersion << 3) >> 3;
+ if (version < VK_MAKE_API_VERSION(27, 20, 100, 0)) {
+ LOG_WARNING(Render_Vulkan, "Blacklisting Intel for VK_EXT_vertex_input_dynamic_state");
+ ext_vertex_input_dynamic_state = false;
+ }
}
if (is_float16_supported && is_intel_windows) {
// Intel's compiler crashes when using fp16 on Astral Chain, disable it for the time being.